const map = new Map();
const weakMap = new WeakMap();

const test = () => {
  const foo = { foo: 1 };
  const bar = { bar: 1 };

  map.set(foo, 1);
  weakMap.set(bar, 2);
};
test();
/**
 * 总结 map 执行完之后变量依旧存在
 * weakMap 执行完之后变量就被回收了，不存在了
 */
console.log("函数执行完之后", map, weakMap);
